/**
 * 对日期常用的操作集合
 */
package com.tools.data.date;

import com.tools.data.string.StringUtil;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * @author szn256
 * @since 2016-11-04 10:29:32
 * @version 0.1
 */
public class DateUtil {

    /**
     * 获取当前日期
     *
     * @return date  当前日期对象
     */
    public static Date getNowDate() {
        Date date = new Date();
        return date;
    }

    /**
     * 根据指定的格式类型获取当前日期
     *
     * @param type 日期格式类型
     * @return date 指定的格式当前日期
     */
    public static String getNowDate(int type) {
        String date;
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(Information.getFormatsForDate(type));
        date = simpleDateFormat.format(getNowDate());
        return date;
    }

    /**
     * 根据指定的格式获取当前日期
     *
     * @param style 日期格式
     * @return date 指定的格式当前日期
     */
    public static String getNowDate(String style) {
        String date;
        switch (style) {
            case Information.FORMATS_FOR_DATE_0: {
                date = getNowDate(0);
                break;
            }
            case Information.FORMATS_FOR_DATE_1: {
                date = getNowDate(1);
                break;
            }
            case Information.FORMATS_FOR_DATE_2: {
                date = getNowDate(2);
                break;
            }
            case Information.FORMATS_FOR_DATE_3: {
                date = getNowDate(3);
                break;
            }
            case Information.FORMATS_FOR_DATE_4: {
                date = getNowDate(4);
                break;
            }
            default: {
                //指定格式为空
                if (StringUtil.isEmpty(style)) {
                    date = getNowDate(0);
                } else {
                    //个性化的格式需求
                    SimpleDateFormat simpleDateFormat = new SimpleDateFormat(style);
                    date = simpleDateFormat.format(getNowDate());
                }
            }
        }
        return date;
    }

}
